Introduction

Software development is a mental activity. Both Object-Oriented (OO) Design and Programming require you to think clearly about your mental models of software. Design is about modeling software components and the Unified Modeling Language (UML) is the tool of choice when drawing software models. This lesson reinforces OOD and OOP techniques you learned in your first year and provides additional context that ties all three aspects (mental model, design model and Java code) together.

Learning Outcomes

Study Resources

For your study of this topic, use some of these resources.

Video Lessons

Web Articles and Blogs

Wikipedia

Class Lecture